Apparatus for testing I/O ports of a computer motherboard

ABSTRACT

An apparatus for testing I/O ports of a computer motherboard. A non-volatile memory on a computer motherboard under test stores a test code instead of a normal BIOS code to initialize the computer motherboard under test and test its I/O ports. The computer motherboard under test is booted from the test code. For the I/O ports to be tested, a CPU on the computer motherboard under test executes test routines in the test code. The apparatus of the invention is connected to the computer motherboard under test so as to cooperate with the test routines in testing the I/O ports. Furthermore, the inventive apparatus includes connectors and test circuits for establishing electrical connections with corresponding pins of the I/O ports to be tested and checking each pin with the test routines.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to testing computer motherboards. More particularly, the invention relates to an apparatus for testing various I/O ports of a computer motherboard.

2. Description of the Related Art

While a central processing unit (CPU) performs most computer jobs, it is really a motherboard that brings it all together to turn a CPU into a modern personal computer. Typically, a computer motherboard includes many input/output (I/O) ports for connecting to various peripherals, and these I/O ports are arranged on the personal computer. It is necessary to test every I/O port of the computer motherboard as much as feasible during design phase or in the final stages of manufacture. Some limited functional tests can be performed by a basic input-output system (BIOS) routine. The BIOS is low-level software that controls devices on the motherboard. The CPU executes the BIOS code upon power-up or reboot, where the BIOS code is stored in a system non-volatile memory on the computer motherboard. The BIOS typically first runs a power-up self-test (POST), which is a series of diagnostic tests to ensure the basic hardware is operating properly. The BIOS also initializes basic hardware operations and some basic video functions. The BIOS then searches for and initiates an operating system, such as Microsoft Windows or Linux.

It is often convenient to execute extensive diagnostic test applications under a window-based operating system so as to test various parts of the computer. Unfortunately, there are several disadvantages to testing the I/O ports of the motherboard as described above. The BIOS code does provide some I/O testing at the system level, but its diagnostic capability is limited. Any messages typically provided, for example, only indicate that a problem exists, but rarely identify what the problem is or where it is. Also, the motherboard under test must load an operating system from a storage device in order to execute diagnostic programs, which takes a significant amount of time. The above schemes for testing I/O ports of a computer motherboard are complicated and time consuming. Further, there is no integrated test kit for testing frequently used I/O ports on today's personal computers.

Accordingly, what is needed is a universal test kit for effectively testing frequently used I/O ports of a computer motherboard. The universal test kit should be simple to allow rapid testing of the I/O ports on the basis of each I/O port's characteristics. Furthermore, the universal test kit should accurately report which pin of an abnormal I/O port is not operating properly.

SUMMARY OF THE INVENTION

The present invention is generally directed to an apparatus for testing I/O ports of a computer motherboard. According to one aspect of the invention, the apparatus of the invention includes a circuit board, a first connector, a second connector, a first test circuit and a second test circuit. The first and the second connectors are electrically connected to the circuit board. The first connector has a plurality of parallel interface data pins, status pins and control pins. With the first connector, the apparatus of the invention can establish electrical connections with corresponding pins of a parallel port of the computer motherboard. The first test circuit is coupled to the first connector, which includes a logic device coupled to the parallel interface data pins and control pins on the first connector. The logic device logically operates the parallel interface data pins and control pins to provide a set of logic signals to a portion of the parallel interface status pins on the first connector. The second connector includes a pair of universal serial bus (USB) interface differential data pins to establish electrical connections with corresponding pins of a USB port of the computer motherboard. The second test circuit is coupled to the second connector, in which a first resistor is connected between a first voltage source and one of the USB interface differential data pins, a second resistor is connected between a second voltage source and the other USB interface differential data pin, and a third resistor is connected between the pair of USB interface differential data pins. In essence, the first, the second and the third resistors are connected in series.

According to another aspect of the invention, a universal test kit for testing I/O ports of a computer motherboard is disclosed. The universal test kit is connected to I/O ports of a computer motherboard under test. The computer motherboard under test provides a plurality of I/O ports including a parallel port and a USB port. The computer motherboard under test basically includes a non-volatile memory and a central processing unit (CPU). The non-volatile memory stores a test code, instead of a basic input-output system (BIOS) code, to initialize the computer motherboard under test and test the I/O ports. Thus, the CPU can boot from the test code in the non-volatile memory for executing the test code to test the I/O ports of the computer motherboard under test. The universal test kit comprises a first connector, a second connector, a first test circuit and a second test circuit. The first connector has a plurality of parallel interface data pins, status pins and control pins. The universal test kit can establish electrical connections with corresponding pins of the parallel port of the computer motherboard under test through the first connector. The first test circuit is coupled to the first connector, which includes a logic device coupled to the parallel interface data pins and control pins on the first connector. The logic device logically operates the parallel interface data pins and control pins to provide a set of logic signals to a portion of the parallel interface status pins on the first connector. The second connector includes a pair of USB interface differential data pins to establish electrical connections with corresponding pins of the USB port of the computer motherboard under test. The second test circuit is coupled to the second connector, in which a first resistor is connected between a first voltage source and one of the USB interface differential data pins, a second resistor is connected between a second voltage source and the other USB interface differential data pin, and a third resistor is connected between the pair of USB interface differential data pins. Note that the first, the second and the third resistors are connected in series.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:

FIG. 1 is a block diagram illustrating a test apparatus connected to an exemplary computer motherboard under test according to the invention;

FIG. 2A is a schematic diagram illustrating a circuit for testing a keyboard port of the computer motherboard under test;

FIG. 2B is a schematic diagram illustrating a circuit for testing a PS/2 mouse port of the computer motherboard under test;

FIG. 2C is a schematic diagram illustrating a circuit for testing USB ports of the computer motherboard under test;

FIG. 2D is a schematic diagram illustrating a circuit for testing a parallel port of the computer motherboard under test;

FIGS. 2E and 2F are schematic diagrams illustrating circuits for testing two serial ports of the computer motherboard under test;

FIG. 2G is a schematic diagram illustrating a circuit for testing a game port of the computer motherboard under test;

FIG. 2H is a schematic diagram illustrating a circuit for testing an audio port of the computer motherboard under test;

FIG. 2I is a schematic diagram illustrating a circuit for testing a network port of the computer motherboard under test;

FIG. 3 is a flowchart illustrating a main procedure for testing the computer motherboard according to the invention;

FIG. 4 is a flowchart illustrating the primary operational steps executed by a test routine for testing the game port;

FIGS. 5A-5D show a flowchart illustrating the primary operational steps executed by another test routine for testing the parallel port;

FIGS. 6A-6C show a flowchart illustrating the primary operational steps executed by another test routine for testing the serial port;

FIG. 7 is a flowchart illustrating the primary operational steps executed by another test routine for testing the USB port;

FIG. 8 is a flowchart illustrating the primary operational steps executed by another test routine for testing the network port;

FIG. 9 is a flowchart illustrating the primary operational steps executed by another test routine for testing the audio port;

FIG. 10 is a flowchart illustrating the primary operational steps executed by another test routine for testing the keyboard port; and

FIG. 11 is a flowchart illustrating the primary operational steps executed by another test routine for testing the PS/2 mouse port.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows a block diagram illustrating a test apparatus 200 of the invention connected to an exemplary computer motherboard 100. The exemplary computer motherboard 100 includes a chipset containing two main components—the North Bridge 110 and the South Bridge 118. The term “Bridge” comes from a reference to a device that connects multiple buses together. The North Bridge 110 acts as the connection point for a CPU 102, a DRAM subsystem 106, a graphics controller 114 and the South Bridge 118. It connects a front side bus (FSB) 104 of the CPU 102 to a DRAM bus 108, an AGP graphics bus 112, and a dedicated interconnection 116 for the South Bridge 118. In its simplest form, the South Bridge 118 integrates various I/O controllers, provides interfaces to peripheral devices and buses, and transfers data to/from the North Bridge 110 through the dedicated interconnection 116. There are a number of I/O ports 130˜148 on the motherboard 100 for connecting to peripherals. For example, the South Bridge 118 may implement the keyboard and PS/2 mouse controller, the integrated USB controller and the integrated IEEE 1394 controller to support a keyboard port 130, a PS/2 mouse port 132, two USB ports 134 and an IEEE 1394 port 136, respectively. An onboard Super I/O chip 122 is connected to the South Bridge 118 through a Low Pin Count (LPC) bus 120, which supports a parallel port 138, two serial ports 140 and 142, as well as a game port 144. The South Bridge 118 may provide a special interface to an audio controller 126 in order to offer an audio port 146. The audio port 146 includes a microphone input (MIC_IN), a stereo line output (LINE_OUT_L and LINE_OUT_R) and a stereo line input (LINE_IN_L and LINE_INR). Further, a network port 148 is driven by a network controller 128 that typically links to the South Bridge 118 through a PCI bus. In addition, a non-volatile memory (NV-memory) 124 may be directly, or through the LPC bus 120, connected to the South Bridge 118, which normally stores low-level software called BIOS. The present invention, however, is not limited to any particular type of computer motherboard.

Still referring to FIG. 1, a plurality of test modules 180˜198 are integrated into a circuit board 170 which is a main part of the test apparatus 200 for testing corresponding I/O ports. These modules include a test module 180 for the keyboard port, a test module 182 for the PS/2 mouse port, a test module 184 for the USB ports, a test module 186 for the IEEE 1394 port, a test module 188 for the parallel port, test modules 190 and 192 for the serial ports, a test module 194 for the game port, a test module 196 for the audio port, and a test module 198 for the network port. Prior to a test, the test apparatus 200 is connected to the I/O ports 130˜148 of the motherboard 100 under test through appropriate cables 150˜168 to the corresponding test modules 180˜198 on the test apparatus 200. In an alternative embodiment, the test apparatus 200 may be directly attached to the I/O ports of the motherboard 100 under test. When performing related tests, the NV-memory 124 on the computer motherboard 100 under test is provided with a test code instead of the BIOS code to initialize the motherboard 100 and test its I/O ports in accordance with the invention. The test apparatus 200 incorporating the test code of the invention is called the universal test kit, and the computer motherboard 100 is hereinafter referred to as the device under test (DUT) for brevity.

Referring to FIGS. 2A˜2I, more detailed schematic diagrams corresponding to the test modules integrated in the test apparatus 200 are illustrated. The test module 180 for the keyboard port is constructed of a keyboard connector 202 as shown in FIG. 2A. The keyboard connector 202 is electrically connected to the circuit board 170, and it is used to establish electrical connections with corresponding pins of the keyboard port 130 of the DUT 100. According to the typical keyboard connector pin assignment, the KB_CLK signal at pin 1 of the connector 202 is fed back as the KB_DATA signal at pin 2 of the connector 202, i.e. the keyboard interface clock pin (pin 1) is coupled to the keyboard interface data pin (pin 2) to form a loop-back connection 204. In addition, pins 4 and 5 of the connector 202 are signal ground and power pins, respectively. As depicted, a light emitting diode (LED) DD1 and a resistor R1 are connected in series between the pin 5 and the pin 4 of the keyboard connector 202, and an LED DD2 and a resistor R2 are connected in series between the pin 5 of the connector 202 and system ground GND. In this way, the diodes DD1 and DD2 can indicate whether the pins 4 and 5 are normal.

Referring now to FIG. 2B, the test module 182 for the PS/2 mouse port is constructed of a PS/2 mouse connector 212. The PS/2 mouse connector 212 is electrically connected to the circuit board 170, and it is provided to establish electrical connections with corresponding pins of the PS/2 mouse port 132 of the DUT 100. According to the typical PS/2 mouse connector pin assignment, the PS/2_CLK signal at pin 5 of the connector 212 is fed back as the PS/2_DATA signal at pin 1 of the connector 212, i.e. the PS/2 interface clock pin (pin 5) is coupled to the PS/2 interface data pin (pin 1) to form a loop-back connection 214. Furthermore, pins 3 and 6 of the connector 212 are signal ground and power pins, respectively. As depicted, an LED DD3 and a resistor R3 are connected in series between the pin 6 and the pin 3 of the PS/2 mouse connector 212, and an LED DD4 and a resistor R4 are connected in series between the pin 6 of the connector 212 and system ground GND. The diodes DD3 and DD4 are used to indicate whether the pins 3 and 6 are normal.

Referring to FIG. 2C, the test module 184 for two USB ports includes a first USB connector 222 and its associated test circuit 224, as well as a second USB connector 222′ and its associated test circuit 224′. The USB connectors 222 and 222′ are electrically connected to the circuit board 170, and they establish electrical connections with corresponding pins of those two USB ports 134 of the DUT 100. According to the typical USB connector pin assignment, pins 2, 3 of the USB connector 222 provide a pair of USB interface differential data signals D− and D+. Additionally, pin 1 of the USB connector 222 is a power pin to receive a power supply source and pin 4 of the connector 22 is a ground pin to serve as signal ground. In the test circuit 224, a resistor R7 is connected between pin 1 of the USB connector 222 and the D+ pin (pin 3) of the USB connector 222, and a resistor R9 is connected between pin 4 of the USB connector 222 and the D− pin (pin 2) of the USB connector 222. Also, a resistor R8 is connected between pins 2 and 3 of the USB connector 222. As depicted, the resistors R7, R8 and R9 are connected in series. To indicate whether the pins 1 and 4 are normal, an LED DD6 and a resistor R6 are connected in series between the pin 1 and the pin 4 of the USB connector 222, and an LED DD5 and a resistor R5 are connected in series between the pin 1 of the connector 222 and system ground GND. Likewise, the second USB connector 222′ and its associated test circuit 224′ are arranged in the same manner as shown in FIG. 2C. Since the IEEE 1394 port features high-speed differential signal pairs like the USB port, the test module 186 for the IEEE 1394 port may have similar arrangements as the test module 184 by the principles of the invention.

Turning now to FIG. 2D, the test module 186 for the parallel port includes a 25-pin D-shell type connector 232 and its associated test circuit 234. The connector 232 is electrically connected to the circuit board 170, and it is provided to establish electrical connections with corresponding pins of the parallel port 136 of the DUT 100. It includes 8 parallel interface data pins, 5 parallel interface status pins and 4 parallel interface control pins. According to the typical pin assignment for a parallel port, pins 2˜9 of the connector 232 carry data signals D0˜D7, pin 1, 14, 16 and 17 of the connector 232 respectively carry control signals STB, AFD, INIT and SLIN, as well as pins 10˜13, 15 of the connector 232 respectively carry status signals ACK, BUSY, P/E, SLCT and ERR. The test circuit 234 comprises NAND gates 236 a˜236 c. In one embodiment, the NAND gates 236 a˜236 c may constitute a logic device. As depicted, the NAND gate 236 a has its inputs respectively coupled to the parallel interface data pins DO˜D3 (pins 2˜5 of the connector 232), and its output coupled to the PAPER END (P/E) status pin (pin 12 of the connector 232). The NAND gate 236 a logically operates its inputs and provides a logical-NAND result at its output to feed the pin 12 of the connector 232. The NAND gate 236 b has its inputs respectively coupled to the parallel interface data pins D4˜D7 (pins 6˜9 of the connector 232), and its output coupled to the SELECT (SLCT) status pin (pin 13 of the connector 232). The NAND gate 236 b logically operates its inputs and provides a logical-NAND result at its output to feed the pin 13 of the connector 232. Similarly, the NAND gate 236 c has its inputs respectively coupled to the STROBE (STB), AUTO FEED (AFD), INIT and SLIN control pins (pins 1, 14, 16 and 17 of the connector 232), and its output coupled to the ERROR (ERR) status pin (pin 15 of the connector 232). The NAND gate 236 c logically operates its inputs and provides a logical-NAND result at its output to feed the pin 15 of the connector 232. All inputs of the NAND gates 236 a˜236C are coupled to a system power supply Vcc by way of pull-up resistors R10˜R21. Moreover, the test circuit 234 electrically couples the ACK and BUSY status pins (pins 10 and 11 of the connector 232) to system ground.

Referring to FIG. 2E, the test module 190 for the serial port is constructed of a 9-pin D-shell type connector 242. The connector 242 is electrically connected to the circuit board 170, and it is provided to establish electrical connections with corresponding pins of the serial port 140 of the DUT 100. It includes one serial data output pin, one serial data input pin, 4 serial interface status pins and 2 serial interface control pins. According to the typical connector pin assignment for a serial port, the DTR signal at pin 4 of the connector 242 is fed back as the DCD signal at pin 1 and the DSR signal at pin 6 of the connector 242, i.e. the serial interface control pin DTR (pin 4) is coupled to the serial interface status pins DCD and DSR (pin 1 and pin 6) together to form a loop-back connection 244. As well, the RTS signal at pin 7 of the connector 242 is fed back as the CTS signal at pin 8 and the RI signal at pin 9 of the connector 242, i.e. the serial interface control pin RTS (pin 7) is coupled to the serial interface status pins CTS and RI (pin 8 and pin 9) together to form a loop-back connection 246. In addition, the TXD signal at pin 3 of the connector 242 is fed back as the RXD signal at pin 2 of the connector 242, i.e. the serial data output pin TXD (pin 3) is coupled to the serial data input pin RXD (pin 2) to form a loop-back connection 248. Note that pin 5 of the connector 242 is coupled to system ground GND. As illustrated in FIG. 2F, the test module 192 for another serial port is arranged in the say way.

Referring to FIG. 2G, the test module 194 for the game port includes a 15-pin D-shell type connector 262 and its associated test circuit 264. The connector 262 is electrically connected to the circuit board 170, and it establishes electrical connections with corresponding pins of the game port 144 of the DUT 100. According to the typical connector pin assignment for a game port, pins 2 and 14 of the connector 262 receive respective first button signals, pins 7 and 10 receive respective second button signals, pins 3 and 11 receive respective X-axis position signals, and pins 6 and 13 receive respective Y-axis position signals. In addition, pins 1, 8, 9 and 15 of the connector 262 are power pins to receive a power supply source and pins 4, 5, 12 of the connector 262 are ground pins to serve as signal ground. The test circuit 264 is used to couple a portion of the game interface pins on the connector 262 to the power supply source and couple the other portion of the game interface pins on the connector 262 to ground. In other words, a pull-up resistor R22 is connected between pins 1 and 3 of the connector 262, a pull-up resistor R23 is connected between pins 6 and 8 of the connector 262, a pull-up resistor R24 is connected between pins 9 and 11 of the connector 262, and a pull-up resistor R25 is connected between pins 13 and 15 of the connector 262. Furthermore, pins 2, 7, 10 and 14 are connected together to pins 4 and 5 thereby coupling them to signal ground. Note that pin 12 of the connector 262 is coupled to system ground GND.

Referring to FIG. 2H, the test module 196 for the audio port includes an audio connector 272 and an oscillator 274. The connector 272 is electrically connected to the circuit board 170, and it establishes electrical connections with corresponding pins of the audio port 146 of the DUT 100. Preferably, the connector 272 is a microphone jack having a pin (pin 1 of the connector 272) as an audio interface pin. As depicted, the other pins of the connector 272 are coupled to the GND and Vcc, respectively. The oscillator 274 has an output coupled to the audio interface pin of the audio connector 272. The oscillator 274 generates a clock as the test signal TEST_CLK and provides it to the audio interface pin of the connector 272.

Referring to FIG. 2I, the test module 198 for the network port is constructed of a RJ-45 connector 282. The connector 282 is electrically connected to the circuit board 170, and it is provided to establish electrical connections with corresponding pins of the network port 148 of the DUT 100. According to the typical connector pin assignment for a network port, pins 1, 2 of the connector 282 form a pair of transmit pins TX+ and TX−, and pins 3, 6 of the connector 282 form a pair of receive pins RX+ and RX−. As shown in FIG. 2I, the transmit pair are correspondingly coupled to the receive pair. That is, the TX+ pin (pin 1 of the connector 282) is coupled to the RX+ pin (pin 3 of the connector 282) to form a loop-back connection 284, and the TX− pin (pin 2 of the connector 282) is coupled to the RX− pin (pin 6 of the connector 282) to form a loop-back connection 286.

Turning now to FIG. 3, a flowchart illustrating a main procedure for testing the DUT 100, after the DUT 100 and the test apparatus 200 of the invention are powered up, the CPU 102 on the DUT 100 is booted from the test code in the NV-memory 124 whereby the CPU 102 executes the test code to test the I/O ports 130˜148 of the DUT 100 (step S310). In the meantime, just the needed components of the DUT 100, such as the NB 110, the DRAM subsystem 106, the graphics controller 114 and the SB 118, are initialized prior to testing. Additionally, the CPU 102 transfers all or certain portions of the test code from the NV-memory 124 to the DRAM subsystem 106 in order to accelerate the test process. Thereafter, a menu is displayed to prompt a choice to test one of the I/O ports (step S320). According to the invention, there is no need to load an operating system. Operation then proceeds to step S330, where the CPU 102 executes a corresponding test routine for the selected I/O port to test the signal pins on the basis of the selected I/O port's characteristics. Operation then proceeds to step S340, where the status of each pin of the selected I/O port is determined. If every signal pin of the selected I/O port is operating properly, a pass message is displayed (step S350). If there is any abnormal signal pin in the selected I/O port, a fail message is displayed to indicate which signal pin of the selected I/O port is not operating properly (step S360). After step S350 or step S360, operation returns to step S320 to wait for another choice to initiate the next test routine.

A brief discussion of each of the test routines included in the test code will now be described. If the game port 144 of the DUT 100 is selected, the corresponding test routine for a game port is then performed. Referring to FIG. 4, an I/O base address for the game port 144 is initialized and a memory block allocated from the game port I/O base address is read to detect diagnostic values from pins of the game port 144 (step S410). Note that there are game port registers within the memory block allocated from the game port I/O base address. Every game interface pin of the game port 144 is then checked with corresponding bits in the memory block, where the bits directly reflect the current status of the game interface pins. Further, the corresponding bits in the memory block are compared with predetermined values set externally for the respective game interface pins of the game port (step S420). Since pins 3, 6, 11 and 13 of the game port 144 are pulled up by the test module 194 on the test apparatus 200 as illustrated in FIG. 2G, the predetermined values for these pins are set to logic ‘1’. Also, pins 2, 7, 10 and 14 of the game port 144 are pulled down by the test module 194 on the test apparatus 200, the predetermined values for these pins are set to logic ‘0’. Operation then proceeds to step S430, where a comparison between the detected diagnostic values and the predetermined values is determined. If the predetermined values match the detected diagnostic values that are represented by the corresponding bits in the memory block, all of the game interface pins are reported as operating correctly (step S440). Otherwise, the test routine indicates which pin of the game port 144 has failed (step S450).

If the parallel port 138 of the DUT 100 is selected, the corresponding test routine for a parallel port is then performed. First, an I/O base address for the parallel port 138 is initialized. Note that there are parallel port registers within a memory block allocated from the parallel port I/O base address. Referring to FIG. 5A, a first bit pattern is written to a first portion of data bits in the memory block corresponding to the parallel interface data pins D0˜D3 of the parallel port. In this way, the first bit pattern is sent out of the parallel port's pins 2˜5 (step S510). After a predetermined time, a P/E status bit in the memory block corresponding to the PAPER END (P/E) status pin is read to receive a result from pin 12 of the parallel port 138 (step S512). With the test module 188 on the test apparatus 200, pins 2˜5 of the parallel port 138 are logically operated to feed a logical-NAND result back to the pin 12 of the parallel port 138 as illustrated in FIG. 2D. Therefore, the P/E status pin (pin 12) is verified based on the logical relationship between the P/E status bit read from the memory block and the first bit pattern (step S514). Operation then proceeds to step S516, where a set of second bit patterns are written one at a time to the first portion of data bits in the memory block to sequentially send the set of second bit patterns out of the parallel port's pins 2˜5. After the predetermined time, the P/E status bit in the memory block is read to receive one logical-NAND result at a time from pin 12 of the parallel port 138 (step S518) The above steps S516 and S518 are repeated to check each of the data pins including D0˜D3 based on the logical relationship between the corresponding second bit pattern and the P/E status bit that is read each time in step S518 (step S520).

Referring to FIG. 5B, the first bit pattern is written to a second portion of data bits in the memory block corresponding to the parallel interface data pins D4˜D7 of the parallel port. In this way, the first bit pattern is sent out of the parallel port's pins 6˜9 (step S522). After the predetermined time, a SLCT status bit in the memory block corresponding to the SELECT (SLCT) status pin is read to receive a result from pin 13 of the parallel port 138 (step S524). With the test module 188 on the test apparatus 200, pins 6˜9 of the parallel port 138 are logically operated to feed a logical-NAND result back to the pin 13 of the parallel port 138 as illustrated in FIG. 2D. Consequently, the SLCT status pin (pin 13) is verified based on the logical relationship between the SLCT status bit read from the memory block and the first bit pattern (step S526). Operation then proceeds to step S528, where the set of second bit patterns are written one-at-a-time to the second portion of data bits in the memory block to sequentially send the set of second bit patterns out of the parallel port's pins 6˜9. After the predetermined time, the SLCT status bit in the memory block is read to receive one logical-NAND result at a time from pin 13 of the parallel port 138 (step S530). The above steps S528 and S530 are repeated to check each of the data pins including D4˜D7 based on the logical relationship between the corresponding second bit pattern and the SLCT status bit that is read each time in step S530 (step S532).

Referring to FIG. 5C, the first bit pattern is written to a set of control bits in the memory block corresponding to the STROBE (STB), AUTO FEED (AFD), INIT and SLIN control pins of the parallel port. In this way, the first bit pattern is sent out of the parallel port's pins 1, 14, 16 and 17 (step S534). After the predetermined time, an ERR status bit in the memory block corresponding to the ERROR (ERR) status pin is read to receive a result from pin 15 of the parallel port 138 (step S536). With the test module 188 on the test apparatus 200, pins 1, 14, 16 and 17 of the parallel port 138 are logically operated to feed a logical-NAND result back to the pin 15 of the parallel port 138 as illustrated in FIG. 2D. As a result, the ERR status pin (pin 15) is verified based on the logical relationship between the ERR status bit read from the memory block and the first bit pattern (step S538). Operation then proceeds to step S540, where the set of second bit patterns are written one at a time to the set of control bits in the memory block to sequentially send the set of second bit patterns out of the parallel port's pins 1, 14, 16 and 17. After the predetermined time, the ERR status bit in the memory block is read to receive one logical-NAND result at a time from pin 15 of the parallel port 138 (step S542). The above steps S540 and S542 are repeated to check each of the control pins including STB, AFD, INIT and SLIN based on the logical relationship between the corresponding second bit pattern and the ERR status bit that is read each time in step S542 (step S544).

Turning now to FIG. 5D, ACK and BUSY status bits are directly read to detect diagnostic values from the ACK and BUSY status pins of the parallel port 138 (step S546). Next, the ACK and BUSY status bits in the memory block are compared with predetermined values set externally for the parallel port's pins 10 and 11 (step S548). Because pins 10 and 11 of the parallel port 138 are pulled down by the test module 188 on the test apparatus 200, the predetermined values for these pins are set to logic ‘0’. Accordingly, a comparison between the detected diagnostic values and the predetermined values is determined. The parallel port's pins 10 and 11 are operating correctly if the ACK and BUSY status bits in the memory block and the predetermined values are well-matched; otherwise, the test routine indicates which pin of the parallel port 138 has failed (step S550).

If one of the serial ports 140 and 142 of the DUT 100 is selected, the corresponding test routine for a serial port is performed. First, an I/O base address for the serial port under test is initialized. Note that there are serial port registers within a memory block allocated from the serial port I/O base address. Referring to FIG. 6A, the serial port under test is next configured at a predetermined baud rate (step S610). As illustrated in FIGS. 2E and 2F, three loop-back connections are respectively formed on each of the serial ports 140 and 142 by the test modules 190 and 192. Accordingly, closed loop tests can be performed. A predetermined data bit is written to a DTR control bit in the memory block corresponding to the serial port's DTR control pin such that the predetermined data bit is sent out of pin 4 of the serial port under test (step S612). After a predetermined time, DCD and DSR status bits in the memory block corresponding to the serial port's DCD and DSR status pins are read to receive respective results from pins 1 and 6 of the serial port under test (step S614). The DCD and DSR status bits are separately examined to determine whether they are equal to the predetermined data bit written to the DTR control bit whereby verifying pins 1, 4 and 6 of the serial port under test (step S616). In a similar manner, the predetermined data bit is written to a RTS control bit in the memory block corresponding to the serial port's RTS control pin to send the predetermined data bit out of pin 7 of the serial port under test (step S618). After the predetermined time, CTS and RI status bits in the memory block corresponding to the serial port's CTS and RI status pins are read to receive respective results from pins 8 and 9 of the serial port under test (step S620). Referring to FIG. 6B, the CTS and RI status bits are separately examined to determine whether they are equal to the predetermined data bit written to the RTS control bit verifying pins 7, 8 and 9 of the serial port under test (step S622). Operation then proceeds to step S624, where a receiver function related to the serial port under test is disabled. Subsequently, a bit pattern is written to transmitter data bits in the memory block for the serial port's data output pin TXD, thereby transmitting the bit pattern out of pin 3 of the serial port under test (step S626). After the predetermined time, the receiver function related to the serial port under test is enabled (step S628). Then, receiver data bits in the memory block for the serial port's data input pin RXD are read to receive incoming data bits from pin 2 of the serial port under test (step S630).

Referring now to FIG. 6C, the received incoming data bits and the transmitted bit pattern are checked to determine whether they are well-matched in order to verify pins 2 and 3 of the serial port under test (step S632). If pins 2 and 3 of the serial port under test are operating properly at the predetermined baud rate, data transmission and receive tests are next performed to verify the transmission and receive capability of the serial port under test at various baud rates. Operation then proceeds to step S634, where the serial port under test is configured at a new baud rate. In a similar manner, the receiver function related to the serial port under test is disabled (step S636). Thereafter, the bit pattern is transmitted out of pin 3 of the serial port under test (step S638). After the predetermined time, the receiver function related to the serial port under test is then enabled (step S640). Next, new incoming data bits are received from pin 2 of the serial port under test (step S630). The new incoming data bits are examined to determine whether they match the transmitted bit pattern or not (step S644). If there are other baud rates to be tested, operation then returns to step S634 to test the serial port for the next baud rate (step S648).

If one of the USB ports 134 of the DUT 100 is selected, the corresponding test routine for a USB port is performed. Referring to FIG. 7, an I/O base address for the USB port under test is identified and a memory block allocated from the USB port I/O base address is read to detect a diagnostic value from a pair of differential data pins (pins 2 and 3) of the USB port under test (step S710). Note that there are USB port registers within the memory block allocated from the USB port I/O base address. The USB differential data pins are then checked with corresponding bits in the memory block, where the bits directly reflect the current status of the USB differential data pair. Further, the corresponding bits in the memory block are compared with a default value for the USB port under test (step S720). As illustrated in FIG. 2C, since the USB differential data pair are set to a value different from the default value by the test module 184 on the test apparatus 200, the detected diagnostic value from pins 2 and 3 of the USB port under test must differ from the default value for the USB port. Operation then proceeds to step S730, where a comparison between the detected diagnostic value and the default value for the USB port is determined. If the USB port's default value is different from the detected diagnostic value represented by the corresponding bits in the memory block, the differential data pin pair are reported as operating correctly (step S740). Otherwise, the test routine indicates the differential data pin pair have failed (step S750). Because the IEEE 1394 port features high-speed differential signal pairs similar to the USB port, the IEEE 1394 port 136 of the DUT 100 may be tested in a similar manner by the principles of the invention.

If the network port 148 of the DUT 100 is selected, the corresponding test routine for a network port is performed. First, the PCI bus on the DUT 100 is scanned to find a network controller for the network port 148, and vendor and device identification of the network controller is read. According to the vendor and device identification, the type of the network controller is checked to determine whether it can be supported or not. Referring to FIG. 8, an I/O base address for the network port under test is identified (step S810). Further, a MAC address for the network controller is checked to determine if it is legal. Note that there are network port registers within a memory block allocated from the network port I/O base address. The memory block allocated from the network port I/O base address is read to detect diagnostic values from a pair of transmit pins TX+ and TX− as well as a pair of receive pins RX+ and RX− (step S820). As illustrated in FIG. 2I, a pair of loop-back connections are formed on the network ports 148 by the test module 198. Once the test module 198 is attached to the network port 148 of the DUT 100, the status of the network port 148 is altered. Accordingly, the transmit pins TX+, TX− and the receive pins RX+, RX− of the network port are checked with corresponding bits in the memory block (step S830), where the corresponding bits directly reflect the current status of the transmit pin pair and the receive pin pair. Operation then proceeds to step S840, where comparisons between diagnostic values and default values for the network port are determined. If the network port's default values differ from the detected diagnostic values represented by the corresponding bits in the memory block, the transmit pin pair and the receive pin pair are reported as operating correctly (step S850). Otherwise, the test routine indicates the transmit pin pair and the receive pin pair have failed (step S860).

If the audio port 146 of the DUT 100 is selected, the corresponding test routine for an audio port is performed. Since the audio port 146 includes a microphone input (MIC_IN), a stereo line output (LINE_OUT_L and LINE_OUT_R) and a stereo line input (LINE_IN_L and LINE_INR), the microphone input must be connected to the connector 272 of the test module 196, and the stereo line output and the stereo line input must be linked together, through appropriate cables respectively, before performing the audio port test. As illustrated in FIG. 2H, the audio interface pin of the connector 272 is coupled to the test signal TEST_CLK from the oscillator 274. Turning now to FIG. 9, the MIC_IN of the audio port 146 receives the test signal TEST_CLK from the test module 196 on the test apparatus 200 (step S910). Then, the received test signal at the MIC_IN of the audio port 146 is checked to see whether it continues changing (step S920). If so, the MIC_IN of the audio port 146 is operating correctly (step S930). Operation then proceeds to step S940, where predetermined test data is sent out of the LINE_OUT_L of the audio port 146. After that, incoming data is received from the LINE_IN_L of the audio port 146 (step S950). The predetermined test data is compared with the received incoming data to determine if the LINE_OUT_L and the LINE_IN_L are operating correctly (step S960). Similarly, the predetermined test data is sent out of the LINE_OUT_R of the audio port 146 (step S970). Next, more incoming data is received from the LINE_IN_R of the audio port 146 (step S980), and the predetermined test data is compared with the received incoming data. If the predetermined test data matches the incoming data received from the LINE_IN_R, the LINE_OUT_R and the LINE_IN_R are operating correctly (step S990).

If the keyboard port 130 of the DUT 100 is selected, the corresponding test routine for a keyboard port is performed. Because the clock and the data pins of the keyboard port 130 are connected together to form a loop-back connection through the test module 180 as shown in FIG. 2A, a closed loop test can be performed to verify the keyboard port 130. Referring now to FIG. 10, predetermined test data is sent out of the clock pin of the keyboard port 130 (step S1010). Then, incoming data is received from the data pin of the keyboard port 130 (step S1020). Thereafter, the predetermined test data is compared with the incoming data from the data pin (step S1030). Operation then proceeds to step S1040, where a comparison between the predetermined test data and the incoming data is determined. If the predetermined test data and the incoming data are well-matched, the clock and the data pins of the keyboard port 130 are reported as operating correctly (step S1050). Otherwise, the test routine indicates the clock and the data pins of the keyboard port 130 have failed (step S1060).

If the PS/2 mouse port 132 of the DUT 100 is selected, the corresponding test routine for a PS/2 mouse port is performed. Since the clock and the data pins of the PS/2 mouse port 132 are connected together to form a loop-back connection through the test module 182 as shown in FIG. 2B, a closed loop test can be performed to verify the PS/2 mouse port 132. Referring now to FIG. 11, predetermined test data is sent out of the clock pin of the PS/2 mouse port 132 (step S1110). Next, incoming data is received from the data pin of the PS/2 mouse port 132 (step S1120). Subsequently, the predetermined test data is compared with the incoming data from the data pin (step S1130). Operation then proceeds to step S1140, where a comparison between the predetermined test data and the incoming data is determined. If the predetermined test data match the incoming data, the clock and the data pins of the PS/2 mouse port 132 are reported as operating correctly (step S1150). Otherwise, the test routine indicates the clock and the data pins of the PS/2 mouse port 132 have failed (step S1160).

Thus, the present invention provides an apparatus for effectively testing frequently used I/O ports of a computer motherboard. The inventive apparatus is simple to allow rapid testing the I/O ports on the basis of each I/O port's characteristics. Moreover, the inventive apparatus can accurately report which pin of an abnormal I/O port is not operating properly.

While the invention has been described by way of example and in terms of the preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiment. To the contrary, it is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements. 

What is claimed is:
 1. An apparatus for testing I/O ports of a computer motherboard operationally under control of a test code, comprising: a circuit board; a first connector electrically connected to the circuit board, including a plurality of parallel interface data pins, a plurality of parallel interface status pins and a plurality of parallel interface control pins, for establishing electrical connections with corresponding pins of a parallel port of the computer motherboard; a first test circuit coupled to the first connector, comprising a logic device coupled to logically operate the parallel interface data pins and the parallel interface control pins on the first connector and to provide a set of logic signals to a portion of the parallel interface status pins on the first connector; a second connector electrically connected to the circuit board, including a pair of universal serial bus (USB) interface differential data pins, for establishing electrical connections with corresponding pins of a USB port of the computer motherboard; and a second test circuit coupled to the second connector, comprising: a first resistor connected between a first voltage source and one of the USB interface differential data pins; a second resistor connected between a second voltage source and the other USB interface differential data pin; and a third resistor connected between the pair of USB interface differential data pins; wherein the first, the second and the third resistors are connected in series.
 2. The apparatus as recited in claim 1 wherein the logic device of the first test circuit comprises: a first NAND gate coupled to logically operate a portion of the parallel interface data pins on the first connector and to provide a first logic signal to a first pin of the portion of the parallel interface status pins on the first connector; a second NAND gate coupled to logically operate the other portion of the parallel interface data pins on the first connector and to provide a second logic signal to a second pin of the portion of the parallel interface status pins on the first connector; and a third NAND gate coupled to logically operate the control pins on the first connector and to provide a third logic signal to a third pin of the portion of the parallel interface status pins on the first connector; wherein the first, the second and the third logic signals constitute the set of logic signals provided to the portion of the parallel interface status pins.
 3. The apparatus as recited in claim 2 wherein the first test circuit electrically couples a fourth and fifth pin of the parallel interface status pins on the first connector, except the portion of the parallel interface status pins, to the second voltage source.
 4. The apparatus as recited in claim 3 wherein the first pin of the portion of the parallel interface status pins is a PAPER END status pin on the first connector, the second pin of the portion of the parallel interface status pins is a SELECT status pin on the first connector, the third pin of the portion of the parallel interface status pins is an ERROR status pin on the first connector, the fourth pin of the parallel interface status pins is an ACK status pin on the first connector, and the fifth pin of the parallel interface status pins is a BUSY status pin on the first connector.
 5. The apparatus as recited in claim 4 wherein the first test circuit electrically couples the ACK and the BUSY status pins on the first connector to ground.
 6. The apparatus as recited in claim 2 wherein the parallel interface control pins include a SLIN control pin on the first connector, an INIT control pin on the first connector, an AUTO FEED control pin on the first connector, and a STROBE control pin on the first connector.
 7. The apparatus as recited in claim 1 wherein the first voltage source is a power supply source and the second voltage source is ground.
 8. The apparatus as recited in claim 1 further comprising: a third connector electrically connected to the circuit board, including a plurality of game interface pins, for establishing electrical connections with corresponding pins of a game port of the computer motherboard; and a third test circuit, coupled to the third connector, for coupling a portion of the game interface pins to the first voltage source by way of pull-up resistors and coupling the other portion of the game interface pins to the second voltage source.
 9. The apparatus as recited in claim 8 wherein the game interface pins on the third connector include a first button pin, a second button pin, an X-axis position pin and a Y-axis position pin.
 10. The apparatus as recited in claim 9 wherein the first and the second button pins are coupled to the first voltage source through the pull-up resistors, and the X-axis and Y-axis position pins are coupled to the second voltage source.
 11. The apparatus as recited in claim 10 wherein the first voltage source is a power supply source and the second voltage source is ground.
 12. The apparatus as recited in claim 1 further comprising: a fourth connector electrically connected to the circuit board, having a first serial interface control pin coupled to a first and second serial interface status pins together to form a first loop-back connection, a second serial interface control pin coupled to a third and fourth serial interface status pins together to form a second loop-back connection, and a serial data output pin coupled to a serial data input pin to form a third loop-back connection, for establishing electrical connections with corresponding pins of a serial port of the computer motherboard.
 13. The apparatus as recited in claim 12 wherein the first serial interface control pin is a DTR pin on the fourth connector and the second serial interface control pin is a RTS pin on the fourth connector.
 14. The apparatus as recited in claim 12 wherein the first serial interface status pin is a DCD pin on the fourth connector, the second serial interface status pin is a DSR pin on the fourth connector, the third serial interface status pin is a CTS pin on the fourth connector, and the fourth serial interface status pin is a RI pin on the fourth connector.
 15. The apparatus as recited in claim 12 wherein the serial data output pin is a TXD pin on the fourth connector and the serial data input pin is a RXD pin on the fourth connector.
 16. The apparatus as recited in claim 1 further comprising: a fifth connector electrically connected to the circuit board, having a pair of transmit pins correspondingly coupled to a pair of receive pins to form a pair of loop-back connections, for establishing electrical connections with corresponding pins of a network port of the computer motherboard.
 17. The apparatus as recited in claim 1 further comprising: a sixth connector electrically connected to the circuit board, having an audio interface pin, for establishing an electrical connection with a corresponding pin of an audio port of the computer motherboard; and an oscillator, coupled to the audio interface pin, for generating a test signal to the first audio interface pin.
 18. The apparatus as recited in claim 17 wherein the first input output pin is a microphone pin of the audio port, the first and the second output pins form a pair of stereo output pins of the audio port, and the second and the third audio input pins form a pair of stereo input pins of the audio port.
 19. The apparatus as recited in claim 1 further comprising: a seventh connector electrically connected to the circuit board, having a keyboard interface clock pin coupled to a keyboard interface data pin to form a loop-back connection, for establishing electrical connections with corresponding pins of a keyboard port of the computer motherboard.
 20. The apparatus as recited in claim 1 further comprising: an eighth connector electrically connected to the circuit board, having a PS/2 interface clock pin coupled to a PS/2 interface data pin to form a loop-back connection, for establishing electrical connections with corresponding pins of a PS/2 mouse port of the computer motherboard.
 21. An apparatus for testing I/O ports of a computer motherboard comprising: a computer motherboard under test comprising: a plurality of I/O ports including a parallel port and a USB port; a non-volatile memory for storing a test code, instead of a basic input-output system (BIOS) code, to initialize the computer motherboard under test and test the I/O ports; and a central processing unit (CPU) booting from the test code in the non-volatile memory for executing the test code to test the I/O ports of the computer motherboard under test; a first connector, including a plurality of parallel interface data pins, a plurality of parallel interface status pins and a plurality of parallel interface control pins, for establishing electrical connections with corresponding pins of the parallel port of the computer motherboard under test; a first test circuit, coupled to the first connector, comprising a logic device coupled to logically operate the parallel interface data pins and the parallel interface control pins on the first connector and to provide a set of logic signals to a portion of the parallel interface status pins on the first connector; a second connector, including a pair of universal serial bus (USB) interface differential data pins, for establishing electrical connections with corresponding pins of the USB port of the computer motherboard under test; and a second test circuit, coupled to the second connector, comprising: a first resistor connected between a first voltage source and one of the USB interface differential data pins; a second resistor connected between a second voltage source and the other USB interface differential data pin; and a third resistor connected between the pair of USB interface differential data pins; wherein the first, the second and the third resistors are connected in series.
 22. The apparatus as recited in claim 21 wherein the logic device of the first test circuit comprises: a first NAND gate coupled to logically operate a portion of the parallel interface data pins on the first connector and to provide a first logic signal to a first pin of the portion of the parallel interface status pins on the first connector; a second NAND gate coupled to logically operate the other portion of the parallel interface data pins on the first connector and to provide a second logic signal to a second pin of the portion of the parallel interface status pins on the first connector; and a third NAND gate coupled to logically operate the control pins on the first connector and to provide a third logic signal to a third pin of the portion of the parallel interface status pins on the first connector; wherein the first, the second and the third logic signals constitute the set of logic signals provided to the portion of the parallel interface status pins.
 23. The apparatus as recited in claim 22 wherein the first test circuit electrically couples a fourth and fifth pin of the parallel interface status pins on the first connector, except the portion of the parallel interface status pins, to the second voltage source.
 24. The apparatus as recited in claim 23 wherein the first pin of the portion of the parallel interface status pins is a PAPER END status pin on the first connector, the second pin of the portion of the parallel interface status pins is a SELECT status pin on the first connector, the third pin of the portion of the parallel interface status pins is an ERROR status pin on the first connector, the fourth pin of the parallel interface status pins is an ACK status pin on the first connector, and the fifth pin of the parallel interface status pins is a BUSY status pin on the first connector.
 25. The apparatus as recited in claim 24 wherein the first test circuit electrically couples the ACK and the BUSY status pins on the first connector to ground.
 26. The apparatus as recited in claim 22 wherein the parallel interface control pins include a SLIN control pin on the first connector, an INIT control pin on the first connector, an AUTO FEED control pin on the first connector, and a STROBE control pin on the first connector.
 27. The apparatus as recited in claim 21 wherein the first voltage source is a power supply source and the second voltage source is ground.
 28. The apparatus as recited in claim 21 wherein the I/O ports of the computer motherboard under test further comprise a game port.
 29. The apparatus as recited in claim 28 further comprising: a third connector, including a plurality of game interface pins, for establishing electrical connections with corresponding pins of the game port of the computer motherboard under test; and a third test circuit, coupled to the third connector, for coupling a portion of the game interface pins to the first voltage source by way of pull-up resistors and coupling the other portion of the game interface pins to the second voltage source.
 30. The apparatus as recited in claim 29 wherein the game interface pins on the third connector include a first button pin, a second button pin, an X-axis position pin and a Y-axis position pin.
 31. The apparatus as recited in claim 30 wherein the first and the second button pins are coupled to the first voltage source through the pull-up resistors, and the X-axis and Y-axis position pins are coupled to the second voltage source.
 32. The apparatus as recited in claim 31 wherein the first voltage source is a power supply source and the second voltage source is ground.
 33. The apparatus as recited in claim 21 wherein the I/O ports of the computer motherboard under test further comprise a serial port.
 34. The apparatus as recited in claim 33 further comprising: a fourth connector having a first serial interface control pin coupled to first and second serial interface status pins together to form a first loop-back connection, a second serial interface control pin coupled to third and fourth serial interface status pins together to form a second loop-back connection, and a serial data output pin coupled to a serial data input pin to form a third loop-back connection, for establishing electrical connections with corresponding pins of the serial port of the computer motherboard under test.
 35. The apparatus as recited in claim 34 wherein the first serial interface control pin is a DTR pin on the fourth connector and the second serial interface control pin is a RTS pin on the fourth connector.
 36. The apparatus as recited in claim 34 wherein the first serial interface status pin is a DCD pin on the fourth connector, the second serial interface status pin is a DSR pin on the fourth connector, the third serial interface status pin is a CTS pin on the fourth connector, and the fourth serial interface status pin is a RI pin on the fourth connector.
 37. The apparatus as recited in claim 34 wherein the serial data output pin is a TXD pin on the fourth connector and the serial data input pin is a RXD pin on the fourth connector.
 38. The apparatus as recited in claim 21 wherein the I/O ports of the computer motherboard under test further comprise a network port.
 39. The apparatus as recited in claim 38 further comprising: a fifth connector having a pair of transmit pins correspondingly coupled to a pair of receive pins to form a pair of loop-back connections, for establishing electrical connections with corresponding pins of the network port of the computer motherboard under test.
 40. The apparatus as recited in claim 21 wherein the I/O ports of the computer motherboard under test further comprise an audio port.
 41. The apparatus as recited in claim 40 further comprising: a sixth connector having an audio interface pin, for establishing an electrical connection with a corresponding pin of the audio port of the computer motherboard under test; and an oscillator, coupled to the audio interface pin, for generating a test signal to the audio interface pin.
 42. The apparatus as recited in claim 41 wherein the first input output pin is a microphone pin of the audio port, the first and the second output pins form a pair of stereo output pins of the audio port, and the second and the third audio input pins form a pair of stereo input pins of the audio port.
 43. The apparatus as recited in claim 21 wherein the I/O ports of the computer motherboard under test further comprise a keyboard port.
 44. The apparatus as recited in claim 43 further comprising: a seventh connector having a keyboard interface clock pin coupled to a keyboard interface data pin to form a loop-back connection, for establishing electrical connections with corresponding pins of the keyboard port of the computer motherboard under test.
 45. The apparatus as recited in claim 21 wherein the I/O ports of the computer motherboard under test further comprise a PS/2 mouse port.
 46. The apparatus as recited in claim 45 further comprising: an eighth connector having a PS/2 interface clock pin coupled to a PS/2 interface data pin to form a loop-back connection, for establishing electrical connections with corresponding pins of the PS/2 mouse port of the computer motherboard under test.
 47. An apparatus as recited in claim 1, wherein the motherboard comprises a CPU and a memory, and wherein the test code is stored in the memory during the testing and executed by the CPU, the execution of the test code causing the motherboard to at least one of send signals to and receive signals from the connectors during the testing. 